<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 1
        // const source = [{
        //     id: 3,
        //     name: 'test2'
        // }, {}, {
        //     id: '4',
        //     name: 'test1'
        // }, {
        //     id: 6,
        //     name: 'test3'
        // }, {
        //     id: () => { },
        //     name: 'test7'
        // }, {
        //     id: 2,
        //     name: 'test5'
        // }];


        // 筛选出id为number   然后排序根据id从小到大
        // function fn(params) {
        //     let arr = params.filter((item) => {
        //         return typeof item.id == "number";
        //     })

        //     // console.log(arr);
        //     arr.sort((a, b) => {
        //         return a.id - b.id;
        //     })

        //     console.log(arr);
        // }

        // fn(source)


 //7. 编写通用方法,把URL参数解析为一个对象，如：var url = “http://witmax.cn/index.php?key0=0&key1=1&key2=2″;    返回数据{key0: "0", key1: "1", key2: "2"}
    //   var url = "http://witmax.cn/index.php?key0=0&key1=1&key2=2"
    //   先 切割字符串 ？ 然后 & 最后=
    //  let arr= url.split("?")
    //  console.log(arr);
    //  let newArr=arr[1].split("&")
    //  console.log(newArr);
    // //  循环 将 =切割
    // let strArr={}
    // for (let i = 0; i < newArr.length; i++){
    //     // 最新数组
    //     var arrthree = newArr[i].split("=")
    //     console.log(arrthree);
    //     let a=arrthree[0]
    //     let b=arrthree[1]
    //     console.log(a,b)
    //       strArr[a]=b
    // }
    // console.log(strArr);

    // 封装成函数
    var url = "http://witmax.cn/index.php?key0=0&key1=1&key2=2"

    // function strs(params) {
    //   let arr= params.split("?")
    //   let newArr=arr[1].split("&")
    //   let strArr={}
    //  for (let i = 0; i < newArr.length; i++){
    //     //   最新数组
    //      var arrthree = newArr[i].split("=")
    //      console.log(arrthree);
    //      let a=arrthree[0]
    //      let b=arrthree[1]
    //        strArr[a]=b

    //  }
    //  return strArr
        
    // }
    // strs(url)
    // console.log(strs(url));

        //三. 统计字符串中出现最多的字母与次数-原理是还得找是否重复重现？
        var  sts='abcdeeeeexoxo'
        //   方法一
          
        let json={}
        for (let index = 0; index<sts.length; index++){
            let key=sts[index];
            // 判断
            if (json[key]){
                json[key]++
            }else {
                json[key]=1
            }
        // let newArr=json[key];
            console.log(json[key]);
            // console.log(newArr);

        }

        // 运用 reduce() 方法
        // var arrs={a: 3, b: 1, c: 1,a:5,a:6} 
        // let json1=arrs.result((prev,next)=>{
        //     if(next in prev){
        //         next[prev]++
        //     }else {
        //         next[prev]=1
        //     }
        // })
        // console.log(json1);


        // 去重
        var arr3 = ['a', 'b', 'a', 'c','b'];
        //  set去重
        // var newArr=[...new Set(arr3)]
        var newArr=Array.from(new Set(arr3)) 
        console.log(newArr);
        // filter 结合indexof
    //     var arr4 = ['a', 'b', 'a', 'c','b'];
    //    let arr5= arr4.filter((item,index)=>{
    //         return arr4.indexOf(item)==index
    //     })
    //     console.log(arr5);
       








    </script>
</body>

</html>